package main

import (
	"fmt"
	"os"
	"bufio"
)

func main() {
	// 创建一个新文件，写入内容 5句 "hello,Gardon"
  // 1.打开文件 f:/abc.txt
	filePath := "f:/abc.txt"
	file,err := os.OpenFile(filePath,os.O_WRONLY | os.O_CREATE,0666)
	if(err != nil) {
		fmt.Println("open file err=" ,err)
		return 
	}
	// 计时关闭file句柄
	defer file.Close()
	// 准备写入 5句 "hello,Gardon"
	str:=  "hello,Gardon\n"
	// 写入时，使用带缓存的 *Writer
	writer := bufio.NewWriter(file)
	for i :=0;i<5;i++ {
		writer.WriteString(str)
	}
	// 因为weiter是带缓存的，因此在调用WriteString方法时，其实内容是先写入缓存的，所以需要调用Flush方法
	// 将缓存的数据真正写入 文件中，否则文件就没有数据
	writer.Flush()
}